home *** CD-ROM | disk | FTP | other *** search
/ WINMX Assorted Textfiles / Ebooks.tar / Text - Mathematics - Numerical Mathematics and Computing (F).zip / spl1.f < prev    next >
Text File  |  2002-06-11  |  913b  |  37 lines

  1. C
  2. C PAGE 261: NUMERICAL MATHEMATICS AND COMPUTING, CHENEY/KINCAID, 1985
  3. C
  4. C FILE: SPL1.FOR
  5. C
  6. C INTERPOLATES TABLE USING A FIRST-DEGREE SPLINE FUNCTION (SPL1)
  7. C
  8.       DIMENSION T(10),Y(10),Z(10),C(10) 
  9.       DATA (T(I),I=1,5)/1.,2.,3.,4.,5./
  10.       DATA (Y(I),I=1,5)/0.,1.,0.,1.,0./
  11. C       
  12.       N = 5       
  13.       Z(1) = SPL1(N,T,Y,1.) 
  14.       Z(2) = SPL1(N,T,Y,2.) 
  15.       Z(3) = SPL1(N,T,Y,3.) 
  16.       Z(4) = SPL1(N,T,Y,4.) 
  17.       Z(5) = SPL1(N,T,Y,5.) 
  18.       Z(6) = SPL1(N,T,Y,2.25) 
  19.       Z(7) = SPL1(N,T,Y,4.5)
  20. C       
  21.       PRINT 5,Z   
  22.     5 FORMAT(5X,10F10.5)    
  23.       END 
  24.   
  25.       FUNCTION SPL1(N,T,Y,X)
  26.       DIMENSION  T(N),Y(N)  
  27.       DO 2 I = N-1,2,-1     
  28.         DIFF = X - T(I)     
  29.         IF(DIFF .GE. 0.0)  GO TO 3    
  30.    2  CONTINUE    
  31.       I = 1     
  32.       DIFF = X - T(1)       
  33.    3  XM = (Y(I+1) - Y(I))/(T(I+1) - T(I))      
  34.       SPL1 = Y(I) + XM*DIFF 
  35.       RETURN      
  36.       END 
  37.